void main() {
  slice(1, 2);

  slice2(10, 20);
  slice2(10);
  // slice2(10, 20, 30);

  slice3(20, end: 50);
  slice3(20, end: 50, step: 10);
  slice3(20, step: 10, end: 50);
}

// 函数的参数可以分为：必传参数，可选位置参数、可选命名参数
// 注意点：必传参数不能为空，可选参数可以为空，且参数可以设置默认值

// 1. 必传参数
void slice(int start, int end) {
  print("切片起始位置: $start, 切片结束位置: $end");
}

// 2. 可选位置参数
void slice2(int start, [int? end = 100]) {
  print("切片起始位置: $start, 切片结束位置: $end");
}

// 3. 可选命名参数
void slice3(int start, {int? end = 10, int? step = 20}) {
  print("切片起始位置: $start, 切片结束位置: $end");
}
